package cn.hospital.service;

import cn.hospital.entity.*;

import java.text.ParseException;
import java.util.List;
import java.util.Map;

public interface FoGroupService {

    //随访组成员信息----------------------------------------------------------------------------------------
    /**
     * 查询随访组成员信息--病人信息
     * @param diagnosis
     * @param patientInformationSheet
     * @param foGroup
     * @return
     */
    List<FoGroup> selectFoGroupList(Diagnosis diagnosis, PatientInformationSheet patientInformationSheet
            , FoGroup foGroup);

    /**
     * 查询随访组成员信息--随访员信息
     * @param foGroup
     * @return
     */
    List<Fo2GroupId> selectFo2GroupList(FoGroup foGroup);

    /**
     * 新增随访组信息--病人
     * @param patientInformationSheet
     * @return
     */
    Integer insertGroupPatientInformationSheet(PatientInformationSheet patientInformationSheet, FoGroup foGroup) throws ParseException;

    /**
     * 新增随访组信息--随访员
     *
     * @param meaningUser
     * @return
     */
    Integer insertGroupMeaningUser(MeaningUser meaningUser, FoGroup foGroup) throws ParseException;
    /**
     * 查询未加入随访组的病人
     * @param foGroup
     * @return
     */
    List<PatientInformationSheet> selectPatientInformationSheet(FoGroup foGroup);

    /**
     * 删除随访组成员信息--随访员
     *
     * @param fo2GroupId
     * @return
     */
    Integer deleteFoGroupfo2GroupId(Integer[] fo2GroupId);

    /**
     * 删除随访组成员信息--病人
     * @param foGroupId
     * @return
     */
    Integer deleteFoGroupfoGroupId(Integer[] foGroupId);

    /**
     * 查询随访系统进度管理
     * @return
     */
    List<FoGroup> queryFoGroup(Map<String, Object> map);

    /**
     * 查询随访系统进度管理数量
     * @return
     */
    Long selectFoGroupCount(Map<String, Object> map);

    /**
     * 查询随访员
     *
     * @param foGroup
     * @return
     */
    List<MeaningUser> selectMeaningUser(FoGroup foGroup);
}
